<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf8">
<meta name="Microsoft Theme" content="none">
<title>实验十二   编写0号中断的处理程序</title>
</head>
<body background="../index.files/back_bluh.jpg">

<pre><font size="5" color="#3366FF"><b>实验十二   编写0号中断的处理程序
</b></font>

答：

分析：</pre>
<pre>	在这个实验以后，大部分的实验都是要求我们写“中断处理程序”，可见这非常重要：对我们理解系统设计时的“中断处理机制”将非常有帮助，甚</pre>
<pre>至对我们日后设计自己的操作系统也非常重要。</pre>
<pre>
	其实，这个实验的源程序，书中已经循序渐进的给出拉。</pre>
<pre>
	下面我们简要分析一下一个中断处理程序的编写、安装、到中断向量表的设置的几个重要步骤。（如果之前对中断处理机制不是很明白，请先仔细阅</pre>
<pre>读书中的相关内容以及《微机原理》中的相关内容）:</pre>
<pre>
	1，编写进行相关操作的中断处理程序，这里和编写子程序类似，注意参数的传递，寄存器的保护和恢复，以及程序的返回等</pre>
<pre>
	2，中断处理程序的安装，安装的时候涉及到的问题：</pre>
<pre>
	(1)安装程序在什么地方(2)安装程序到什么地方(3)安装程序的代码的长度</pre>
<pre>
	注意：这里经常结合串传送指令、offset、rep、cx等来实现[其中的串传送指令具体见书中的219页]</pre>
<pre>
	3，设置中断向量表：也就是把程序安装的入口地址写入中断向量表中，这里涉及到原来的中断向量的保存和恢复问题</pre>
<pre>
实现：
        下面直接给出，这个中断处理程序以及检测程序</pre>
<pre>
	程序见<a href="../pro/12.asm">12.asm</a></pre>
<pre>

</pre>
<pre>
【注：</pre>
<pre>书中给出的源程序不是很理想，在中断处理程序中没有进行相关寄存器的保护工作，也没有恢复被我们改动了的原来的中断向量，所以需要我们自己进</pre>
<pre>行补充，下面是补充过后的相对更加完善的源程序：<a href="../pro/121.asm">121.asm</a></pre>
<pre>】</pre>
<div align="left">
  <PRE><center><b><a href="../"><font face="华文行楷" size="5" color="#3333FF">返回目录</font></a></b></center></pre>
</div>
